perm filename WAVE.FAI[TMP,LCS]2 blob sn#170773 filedate 1975-07-28 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00005 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002		TITLE WAVE
C00004 00003	L101:	SETOM X#
C00006 00004	L6:	JSA 16,DPYOUT
C00008 00005	ININT:	SETZ
C00010 ENDMK
C⊗;
	TITLE WAVE
	EXTERNAL TYPLOC,DDCLR,DPYSET,FASTIN
	EXTERNAL DPYOUT,GETFIL,AVECT,ALINE
	A←1 ↔ B←2 ↔ C←3 ↔ K←4 ↔ LPDL←←69 ↔ P←17
	DEFINE FIXX(N)
   <	JUMPGE	N,.+5
	MOVNS	N
	FIX	N,233000
	MOVNS	N
	CAIA
	FIX 	N,233000    >
	DEFINE FLOAT(N)
   <	TLC N,232000
	FADR N,N   >
BEG:	MOVE P,[-LPDL,,PDL-1]
	JSA 16,TYPLOC
	[-=260]
	[-=512]
	CLRBFI
	OUTSTR [ASCIZ/ TYPE FILE NAME /]
	PUSHJ P,INA5
	SKIPN A
	MOVE A,[ASCIZ/MUSAA/]
	MOVEM A,NM#
	HRRZI A,=512
	HRRZM A,INC#
L8:	CLRBFI
	OUTSTR [ASCIZ/ TYPE NUM OF SAMPLES /]
	HRRZI A,=1024
	HRRZM A,NZ#
	INCHWL B
	PUSHJ P,ININT
	MOVEM J#
	SETZ
	INCHRS B
	CAIA
	PUSHJ P,ININT
	IDIVI 3
	MOVEM NY#
	SKIPE B,J
	MOVEM B,INC
	JSA 16,GETFIL
	NM
	SETZM JCNT#
	HRRZI A,1
	HRRZM A,KCNT#
	SETZM JZ#
L11:	HRRZI A,1
	HRRZM A,L#
	MOVE A,INC
	MOVEM A,LX#
L100:	JSA 16,FASTIN
	WD
	[=1024]
	HRRZI A,=1024
	ADDB A,NZ
	CAMGE A,NY
	JRST L100
	SKIPN NY
	JRST L101
	SUBI A,=1024
	IMULI A,3
	MOVEM A,KCNT
	SOJ A,
	MOVEM A,JCNT
L101:	SETOM X#
	SETZ K,
	MOVE A,[POINT 12,WD]
L2:	SKIPE WD(K)
	SETZM X
	ILDB 0,A
	HRRZM 0,FW(K)
	ILDB 0,A
	HRRZM 0,FW+1(K)
	ILDB 0,A
	HRRZM 0,FW+2(K)
	ADDI K,3
	CAIGE K,=3072
	JRST L2
	SKIPE X
	JRST L8
L1:	JSA 16,DDCLR
	MOVE A,[=1000.0]
	MOVE B,INC
	FLOAT(B)
	FDVR A,B
	MOVEM A,X
L40:	JSA 16,DPYSET
	[1]
	DP
	[=4000]
	JSA 16,ALINE
	NFHD
	[=409]
	NFHD
	[-=409]
	JSA 16,ALINE
	[=500]
	ZER
	NFHD
	ZER
L10:	MOVE A,[-=500.0]
	MOVEM A,Z#
	MOVE K,L
L4:	AOS JCNT
	MOVE A,FW-1(K)
	CAILE A,=2047
	SUBI A,=4096
	MOVEM A,JZ
	IDIVI A,5
	MOVEM A,JY#
	MOVE A,Z
	FIXX(A)
	MOVEM A,JX#
	JSA 16,AVECT
	JX
	JY
	CAIN K,=3072
	JRST L6
	MOVE A,X
	FADM A,Z
	CAMGE K,LX
	AOJA K,L4
L6:	JSA 16,DPYOUT
	[1]
L31:	OUTSTR [ASCIZ/ SMPL /]
	MOVE KCNT
	PUSHJ P,OUTINT
	OUTSTR [ASCIZ/ TO /]
	MOVE JCNT
	PUSHJ P,OUTINT
	OUTSTR [ASCIZ/
/]
L55:	MOVE A,J
	AOJ A,
	JUMPE A,L7
	AOJ A,
	JUMPE A,L12
L5:	CLRBFI
	INCHWL B
	PUSHJ P,ININT
	MOVEM J
	SETZ
	INCHRS B
	CAIA
	PUSHJ P,ININT
	MOVEM NX
	HRRZI A,=3072
	CAMGE A,J
	MOVEM A,J
L77:	SKIPLE A,J
	MOVEM A,INC
	ADDI A,2
	JUMPGE A,L7
	JRST L9
L12:	MOVE A,L
	ADD A,NX#
	MOVEM A,LX
	MOVE A,KCNT
	ADD A,NX
	SOJ A,
	MOVEM A,JCNT
	JRST L7
L9:	MOVE A,L
	ADD A,J
	MOVEM A,LX
	MOVE A,KCNT
	ADD A,J
	SOJ A,
	MOVEM A,JCNT
	SKIPGE LX
	SETZM LX
L7:	MOVE A,LX
	AOJ A,
	MOVEM A,L
	MOVE A,INC
	ADDM A,LX
	MOVE A,JCNT
	AOJ A,
	MOVEM A,KCNT
	MOVE A,L
	CAILE A,=3072
	JRST L11
	JRST L1
ININT:	SETZ
	SETZ C,
	CAIN B,"-"
	JRST MIN
RECUR:	CAIL B,60
	CAILE B,71
	JRST SYNE
	IMULI =10
	ADDI -60(B)
GTCHR:	INCHRS B
	CAIA
	JRST RECUR
SYNE:	SKIPGE C
	MOVNS
	POPJ P,
MIN:	SETO C,
	JRST GTCHR

OUTINT:	HRRZI B,16
	JUMPE OUTZ
	IDIVI =10
	ADDI A,60
	HRRZM A,BLK1(B)
	SOJGE B,OUTINT+1
OCHR:	OUTCHR BLK1+1(B)
	CAIGE B,15
	AOJA B,OCHR
	POPJ P,
OUTZ:	CAIL B,16
	HRLZI B,300000
	JRST OCHR

INA5:	SETZ A,
	HRLZI C,700
	INCHWL
	CAIE 15
	CAIN 12
	POPJ P,
	IDPB C
	TRNN A,177
	INCHRS
	POPJ P,
	JRST .-7

BLK1:	BLOCK 17
DP:	0
WD:	BLOCK =1024
FW:	BLOCK =1024*3
NFHD:	-=500
ZER:	0
PDL:	BLOCK LPDL
	END BEG